The present invention relates to an iterative decoding process, and particularly to a method for reducing the average number of iterations in an iterative decoding process.
Digital communication systems include a channel encoder which introduces redundancy in the transmitted information to be used at the receiver for increasing the reliability of the received information. In many cases, the information encoded by the channel encoder includes a sequence of source bits and code bits based on a predetermined error detection structure. The output of the channel encoder is transmitted to the receiver. After the decoding of the information bits (by the channel decoder), the receiver decodes the received digital information in accordance with the predetermined error detection structure, and utilizes the decoded code bits to detect errors in the transmitted source bits, so that the transmitted information can be corrected, retransmitted, or tagged as unreliable.
Various encoding techniques are known for channel encoding, including multi-dimensional codes, e.g., parallel concatenated codes (PCC), serial concatenated codes (SCC), and hybrid concatenated codes (HCC). Of particular importance at the present time are the parallel, chained, systematic recursive code called “turbo-codes”, disclosed by C. Berrou, et. al., in the publication “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes”, Proc. ICC, May 1993, pp. 1298-1303, hereby incorporated by reference. Such multi-dimensional codes are iteratively decoded, e.g., by utilizing a predetermined fixed number of iterations. Preferably, however, an adaptive abort criterion is utilized to minimize the number of iterations. For example, Hagenauer et. al., U.S. Pat. No. 5,761,248, of Jun. 2, 1998, includes a general discussion of turbo-codes and a description of a prior art abort criterion based on “noise variance” identified after an iteration step, and discloses an abort criterion based on relative enthropy, namely the measure of the loss of information in a transmitted message after an iteraration step for reducing the average number of iterations.